

#ifndef   _ZRXREGSVC_H
#define   _ZRXREGSVC_H 1

#include "zrxdlinkr.h"
#include "zadesk.h"
#pragma pack (push, 8)

bool ucrxLoadModule(const ZTCHAR * moduleName, bool printit, bool asCmd=false);

bool ucrxLoadApp(const ZTCHAR * appname, bool asCmd=false);

bool ucrxUnloadModule(const ZTCHAR * moduleName, bool asCmd=false);

bool ucrxUnloadApp(const ZTCHAR * appName, bool asCmd=false);

void *ucrxLoadedApps();

bool ZSOFT_STDCALL ucrxAppIsLoaded(const ZTCHAR  *pAppName);

const ZTCHAR * ucrxProductKey();

const ZTCHAR * ucrxObjectDBXRegistryKey();

ZSoft::UInt32 ucrxProductLCID();

UcadApp::ErrorStatus ucrxRegisterApp(UcadApp::LoadReasons alr,
        const ZTCHAR  *logicalName, bool bDwgU = false);

UcadApp::ErrorStatus ucrxUnregisterApp(const ZTCHAR  *logicalname,
                                       bool bDwgU = false);

void * ucrxGetServiceSymbolAddr(const ZTCHAR * serviceName, const ZTCHAR * symbol);

void* ucrxRegisterService(const ZTCHAR * serviceName);

bool ucrxServiceIsRegistered(const ZTCHAR * serviceName);

bool ucrxUnlockApplication(void* appId);

bool ucrxApplicationIsLocked(const ZTCHAR * modulename);

bool ucrxLockApplication(void* appId);

bool ucrxIsAppMDIAware(const ZTCHAR  * moduleName);

bool ucrxRegisterAppMDIAware(void* appId);

bool ucrxRegisterAppNotMDIAware(void* appId);

#pragma pack (pop)
#endif
